Estoy tratando de usar una declaración de cambio:
var currentURL = window.location.href; switch(currentURL) { // Home page case "http://localhost/myWebsitePath/": alert("Home!"); break; // Blog home page case "http://localhost/myWebsitePath/blog/": alert("Blog!"); break; }Cuando visito http://localhost/myWebsitePath/, recibo la alerta. Cuando visito http://localhost/myWebsitePath/blog/, no siempre recibo la alerta. A veces parece funcionar al hacer clic en un hipervínculo desde la página de inicio. ¿Necesito escapar de algún carácter especial para garantizar que funcione?
Nota: ambas rutas tienen sus respectivos archivos index.html en las carpetas
console.log(currentURL); console.log(typeof(currentURL));Produce:
http://localhost/myWebsitePath/blog/ string
Parece que ahora funciona correctamente si uso:
var currentURL = window.location.href; currentURL = encodeURIComponent(currentURL);Luego cambia de caso de la siguiente manera:
switch(currentURL) { // Home page case "http%3A%2F%2Flocalhost%2FmyWebsitePath%2F": alert("Home!"); break; // Blog home page case "http%3A%2F%2Flocalhost%2FmyWebsitePath%2Fblog%2F": alert("Blog!"); break; }Utilicé https://meyerweb.com/eric/tools/dencoder/ para codificar/decodificar las URL inicialmente e insertarlas en mis cajas de cambio.